// vue.config.js
const { defineConfig } = require('@vue/cli-service');

module.exports = defineConfig({
  // 确保 transpileDependencies 是数组（空数组表示不转译任何依赖）
  transpileDependencies: [],
  
  // 关闭 ESLint 检查（根据需要选择是否保留）
  lintOnSave: false,
  
  // 开发服务器配置
  devServer: {
    port: 8080, // 指定开发服务器端口
    open: true, // 自动打开浏览器
    proxy: {
      // API 代理配置
      '/api': {
        target: 'http://localhost:8080',
        changeOrigin: true,
        pathRewrite: { '^/api': '' } // 重写路径，例如将 /api/users 转发到 http://localhost:8080/users
      }
    }
  },
  
  // 优化生产环境构建
  productionSourceMap: false, // 不生成 source map，减小打包体积
  
  // 处理 ProgressPlugin 错误（确保不添加无效选项）
  chainWebpack: (config) => {
    // 禁用 ProgressPlugin（解决 ValidationError）
    config.plugins.delete('progress');
    
    // 禁用 cache-loader（如果仍然存在 cache-loader 错误）
    // config.module.rule('js').uses.delete('cache-loader');
    // config.module.rule('vue').uses.delete('cache-loader');
  },
  
  // 其他配置
  css: {
    extract: true, // 提取 CSS 到单独文件（生产环境默认开启）
    sourceMap: false // 不生成 CSS source map
  }
});